<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            width: 300px;
            /* 让块级元素水平居中 */
            margin: 0 auto;
        }
    </style>
    <script>
        let state = "dark";
        function changeTime(btn){
            if(state=="dark"){
                document.body.style.backgroundColor = "#333333";
                // CSS 中存在一些可以被继承的样式
                //          继承样式：父元素设置样式后，如果子元素没有设置该样式，会默认继承父元素的设置
                document.body.style.color = "white";
                // 为下一次点击做准备操作
                state = "light";
                // 修改 input 标签的 按钮名称
                btn.value = "日间";
            }else{
                document.body.style.backgroundColor = "";
                document.body.style.color = "";
                // 为下一次点击做准备操作
                state = "dark";
                btn.value = "夜间";
            }
        }
    </script>
</head>
<body>
    <div style="text-align: center;">
        <input type="button" value="夜间" onclick="changeTime(this)">
    </div>
    <div class="box">
        Attr 对象
        在 HTML DOM 中，Attr 对象表示 HTML 属性。

        HTML 属性始终属于 HTML 元素。

        NamedNodeMap
        在 HTML DOM 中，NamedNodeMap 对象表示元素属性节点的无序集合。

        换句话说：NamedNodeMap 是 Attr 对象的列表。

        NamedNodeMap 拥有返回节点数的 length 属性。

        可以通过名称或索引号访问节点。索引从 0 开始。
    </div>
    <hr>
    <div class="box">
        Attr 对象
        在 HTML DOM 中，Attr 对象表示 HTML 属性。

        HTML 属性始终属于 HTML 元素。

        NamedNodeMap
        在 HTML DOM 中，NamedNodeMap 对象表示元素属性节点的无序集合。

        换句话说：NamedNodeMap 是 Attr 对象的列表。

        NamedNodeMap 拥有返回节点数的 length 属性。

        可以通过名称或索引号访问节点。索引从 0 开始。
    </div>
</body>
</html>